// pages/global-login/global-login.js
const app = getApp()

Page({
  data: {
    show: false,
    loading: false
  },

  onLoad() {
    // 设置全局登录弹窗组件引用
    app.setLoginModalComponent(this)
  },

  // 显示登录弹窗
  showLoginModal() {
    this.setData({ show: true })
  },

  // 隐藏登录弹窗
  hideLoginModal() {
    this.setData({ show: false })
  },

  // 获取手机号
  async getPhoneNumber(e) {
    if (this.data.loading) return
    
    this.setData({ loading: true })
    
    try {
      if (e.detail.errMsg === 'getPhoneNumber:ok') {
        const { code } = e.detail
        
        // 调用app.ts中的登录方法
        await app.login(code)
        
        wx.showToast({
          title: '登录成功',
          icon: 'success'
        })
        
        // 隐藏弹窗
        this.hideLoginModal()
        
        // 触发登录成功事件
        this.triggerEvent('loginSuccess', {
          userInfo: app.globalData.userInfo
        })
      } else {
        wx.showToast({
          title: '获取手机号失败',
          icon: 'none'
        })
      }
    } catch (error) {
      console.error('登录失败:', error)
      wx.showToast({
        title: error.message || '登录失败',
        icon: 'none'
      })
    } finally {
      this.setData({ loading: false })
    }
  },

  // 关闭弹窗
  onClose() {
    this.hideLoginModal()
  }
}) 